<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of CreditosInsuficientes
 *
 * @author JeyDotC
 */
class CreditosInsuficientes extends Plugin {

    /**
     *
     * @var Cursos
     */
    private $curso;

    public function aroundModuleGuardarCurso(Cursos $curso) {
        $execute = true;
        $this->curso = $curso;

        $execute = $this->checkCreditos();

        if (!$execute) {
            $this->baseObject->addMessage(new Message("<p>No tienes cr&eacute;ditos disponibles suficientes para agregar esta materia.</p>", "Cr&eacute;ditos insuficientes: ", Message::ERROR));
        }

        return $execute;
    }

    private function checkCreditos() {
        $totalCreditosDisponibles = 18;
//        $totalCreditosDisponibles = $this->baseObject->model->academicRegistration->GetCreditosDisponibles(AcawebUtils::GetPeriodoAcademicoMatriculas());
        $matricula = $this->baseObject->getMatricula();
        $creditosMatriculados = 0;

        foreach ($matricula as /* @var $curso Cursos */$curso) {
            $creditosMatriculados += $curso->getCreditos();
        }
        $creditosAUsar = $creditosMatriculados + $this->curso->getCreditos();
        return $creditosAUsar <= $totalCreditosDisponibles;
    }

}

?>
